home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 7 / Amiga Format AFCD07 (Dec 1996, Issue 91).iso / serious / shareware / programming / emacs-complete / fsf / emacs / src / m / isi-ov.h < prev    next >
C/C++ Source or Header  |  1993-06-12  |  3KB  |  101 lines

  1. /* machine description file for ISI 68000's
  2.    Copyright (C) 1985, 1986 Free Software Foundation, Inc.
  3.  
  4. This file is part of GNU Emacs.
  5.  
  6. GNU Emacs is free software; you can redistribute it and/or modify
  7. it under the terms of the GNU General Public License as published by
  8. the Free Software Foundation; either version 2, or (at your option)
  9. any later version.
  10.  
  11. GNU Emacs is distributed in the hope that it will be useful,
  12. but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14. GNU General Public License for more details.
  15.  
  16. You should have received a copy of the GNU General Public License
  17. along with GNU Emacs; see the file COPYING.  If not, write to
  18. the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  19.  
  20.  
  21. /* The following line tells the configuration script what sort of 
  22.    operating system this machine is likely to run.
  23.    USUAL-OPSYS="note"
  24.  
  25. NOTE-START
  26. Use `-opsystem=bsd4-2' or `-opsystem=bsd4-3'.
  27. NOTE-END */
  28.  
  29. #define ISI68K
  30.  
  31. /* The following three symbols give information on
  32.  the size of various data types.  */
  33.  
  34. #define SHORTBITS 16        /* Number of bits in a short */
  35.  
  36. #define INTBITS 32        /* Number of bits in an int */
  37.  
  38. #define LONGBITS 32        /* Number of bits in a long */
  39.  
  40. /* 68000 has lowest-numbered byte as most significant */
  41.  
  42. #define BIG_ENDIAN
  43.  
  44. /* Say this machine is a 68000 */
  45.  
  46. #define m68000
  47.  
  48. /* Use type int rather than a union, to represent Lisp_Object */
  49.  
  50. #define NO_UNION_TYPE
  51.  
  52. /* XINT must explicitly sign-extend */
  53.  
  54. #define EXPLICIT_SIGN_EXTEND
  55.  
  56. /* Data type of load average, as read out of kmem.  */
  57.  
  58. #ifdef BSD4_3
  59. #define LOAD_AVE_TYPE long
  60. #else
  61. #define LOAD_AVE_TYPE double
  62. #endif BSD4_3
  63.  
  64. /* Convert that into an integer that is 100 for a load average of 1.0  */
  65.  
  66. #ifdef BSD4_3
  67. #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
  68. #else
  69. #define LOAD_AVE_CVT(x) ((int) ((x) * 100.0))
  70. #endif
  71.  
  72. /* Mask for address bits within a memory segment */
  73.  
  74. #define SEGMENT_MASK 0x1ffff
  75.  
  76. /* use the -20 switch to get the 68020 code */
  77. /* #define C_SWITCH_MACHINE -20 */
  78.  
  79. /* Use the version of the library for the 68020
  80.    because the standard library requires some special hacks in crt0
  81.    which the GNU crt0 does not have.  */
  82.  
  83. #define LIB_STANDARD -lmc
  84.  
  85. /* macros to make unexec work right */
  86.  
  87. #define A_TEXT_OFFSET(HDR) sizeof(HDR)
  88. #define A_TEXT_SEEK(HDR) sizeof(HDR)
  89.  
  90. /* A few changes for the newer systems.  */
  91.  
  92. #ifdef BSD4_3
  93. #define HAVE_ALLOCA
  94. /* The following line affects crt0.c.  */
  95. #undef m68k
  96.  
  97. #undef LIB_STANDARD
  98. #define LIB_STANDARD -lmc -lc
  99. #define C_DEBUG_SWITCH -20 -O -X23
  100. #endif
  101.